active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
f(ok(X1), ok(X2)) → ok(f(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
↳ QTRS
↳ DependencyPairsProof
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
f(ok(X1), ok(X2)) → ok(f(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PROPER(f(X1, X2)) → PROPER(X2)
TOP(mark(X)) → PROPER(X)
ACTIVE(f(X1, X2)) → F(active(X1), X2)
TOP(mark(X)) → TOP(proper(X))
ACTIVE(f(X, X)) → F(a, b)
F(mark(X1), X2) → F(X1, X2)
ACTIVE(f(X1, X2)) → ACTIVE(X1)
F(ok(X1), ok(X2)) → F(X1, X2)
PROPER(f(X1, X2)) → F(proper(X1), proper(X2))
TOP(ok(X)) → ACTIVE(X)
TOP(ok(X)) → TOP(active(X))
PROPER(f(X1, X2)) → PROPER(X1)
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
f(ok(X1), ok(X2)) → ok(f(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
PROPER(f(X1, X2)) → PROPER(X2)
TOP(mark(X)) → PROPER(X)
ACTIVE(f(X1, X2)) → F(active(X1), X2)
TOP(mark(X)) → TOP(proper(X))
ACTIVE(f(X, X)) → F(a, b)
F(mark(X1), X2) → F(X1, X2)
ACTIVE(f(X1, X2)) → ACTIVE(X1)
F(ok(X1), ok(X2)) → F(X1, X2)
PROPER(f(X1, X2)) → F(proper(X1), proper(X2))
TOP(ok(X)) → ACTIVE(X)
TOP(ok(X)) → TOP(active(X))
PROPER(f(X1, X2)) → PROPER(X1)
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
f(ok(X1), ok(X2)) → ok(f(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
F(mark(X1), X2) → F(X1, X2)
F(ok(X1), ok(X2)) → F(X1, X2)
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
f(ok(X1), ok(X2)) → ok(f(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
F(mark(X1), X2) → F(X1, X2)
F(ok(X1), ok(X2)) → F(X1, X2)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
PROPER(f(X1, X2)) → PROPER(X2)
PROPER(f(X1, X2)) → PROPER(X1)
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
f(ok(X1), ok(X2)) → ok(f(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
PROPER(f(X1, X2)) → PROPER(X2)
PROPER(f(X1, X2)) → PROPER(X1)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
ACTIVE(f(X1, X2)) → ACTIVE(X1)
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
f(ok(X1), ok(X2)) → ok(f(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
ACTIVE(f(X1, X2)) → ACTIVE(X1)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
TOP(mark(X)) → TOP(proper(X))
TOP(ok(X)) → TOP(active(X))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
f(ok(X1), ok(X2)) → ok(f(X1, X2))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
TOP(mark(X)) → TOP(proper(X))
TOP(ok(X)) → TOP(active(X))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
f(ok(X1), ok(X2)) → ok(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
TOP(mark(f(x0, x1))) → TOP(f(proper(x0), proper(x1)))
TOP(mark(b)) → TOP(ok(b))
TOP(mark(a)) → TOP(ok(a))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
TOP(mark(f(x0, x1))) → TOP(f(proper(x0), proper(x1)))
TOP(mark(b)) → TOP(ok(b))
TOP(mark(a)) → TOP(ok(a))
TOP(ok(X)) → TOP(active(X))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
f(ok(X1), ok(X2)) → ok(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
TOP(mark(f(x0, x1))) → TOP(f(proper(x0), proper(x1)))
TOP(mark(a)) → TOP(ok(a))
TOP(ok(X)) → TOP(active(X))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
f(ok(X1), ok(X2)) → ok(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
TOP(ok(b)) → TOP(mark(a))
TOP(ok(f(x0, x0))) → TOP(mark(f(a, b)))
TOP(ok(f(x0, x1))) → TOP(f(active(x0), x1))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
TOP(ok(f(x0, x1))) → TOP(f(active(x0), x1))
TOP(ok(f(x0, x0))) → TOP(mark(f(a, b)))
TOP(ok(b)) → TOP(mark(a))
TOP(mark(f(x0, x1))) → TOP(f(proper(x0), proper(x1)))
TOP(mark(a)) → TOP(ok(a))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
f(ok(X1), ok(X2)) → ok(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ SemLabProof2
TOP(ok(f(x0, x1))) → TOP(f(active(x0), x1))
TOP(ok(f(x0, x0))) → TOP(mark(f(a, b)))
TOP(mark(f(x0, x1))) → TOP(f(proper(x0), proper(x1)))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
f(ok(X1), ok(X2)) → ok(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
TOP.0(ok.0(f.0-0(x0, x0))) → TOP.0(mark.0(f.1-0(a., b.)))
TOP.0(ok.0(f.1-1(x0, x0))) → TOP.0(mark.0(f.1-0(a., b.)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.1(x1)))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.1-0(x0, x1))) → TOP.0(f.0-0(active.1(x0), x1))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.1(x1)))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(ok.0(f.1-1(x0, x1))) → TOP.0(f.0-1(active.1(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
f.0-0(mark.1(X1), X2) → mark.0(f.1-0(X1, X2))
active.0(b.) → mark.1(a.)
proper.0(f.1-0(X1, X2)) → f.0-0(proper.1(X1), proper.0(X2))
active.0(f.0-0(X, X)) → mark.0(f.1-0(a., b.))
proper.0(f.0-1(X1, X2)) → f.0-0(proper.0(X1), proper.1(X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-1(mark.1(X1), X2) → mark.0(f.1-1(X1, X2))
f.0-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.1(a.) → ok.1(a.)
f.0-0(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
active.0(f.1-1(X, X)) → mark.0(f.1-0(a., b.))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.1-1(X1, X2)) → f.0-1(active.1(X1), X2)
proper.0(b.) → ok.0(b.)
f.0-0(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
proper.0(f.1-1(X1, X2)) → f.0-0(proper.1(X1), proper.1(X2))
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
↳ SemLabProof2
TOP.0(ok.0(f.0-0(x0, x0))) → TOP.0(mark.0(f.1-0(a., b.)))
TOP.0(ok.0(f.1-1(x0, x0))) → TOP.0(mark.0(f.1-0(a., b.)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.1(x1)))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.1-0(x0, x1))) → TOP.0(f.0-0(active.1(x0), x1))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.1(x1)))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(ok.0(f.1-1(x0, x1))) → TOP.0(f.0-1(active.1(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
f.0-0(mark.1(X1), X2) → mark.0(f.1-0(X1, X2))
active.0(b.) → mark.1(a.)
proper.0(f.1-0(X1, X2)) → f.0-0(proper.1(X1), proper.0(X2))
active.0(f.0-0(X, X)) → mark.0(f.1-0(a., b.))
proper.0(f.0-1(X1, X2)) → f.0-0(proper.0(X1), proper.1(X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-1(mark.1(X1), X2) → mark.0(f.1-1(X1, X2))
f.0-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.1(a.) → ok.1(a.)
f.0-0(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
active.0(f.1-1(X, X)) → mark.0(f.1-0(a., b.))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.1-1(X1, X2)) → f.0-1(active.1(X1), X2)
proper.0(b.) → ok.0(b.)
f.0-0(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
proper.0(f.1-1(X1, X2)) → f.0-0(proper.1(X1), proper.1(X2))
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ SemLabProof2
TOP.0(ok.0(f.0-0(x0, x0))) → TOP.0(mark.0(f.1-0(a., b.)))
TOP.0(ok.0(f.1-1(x0, x0))) → TOP.0(mark.0(f.1-0(a., b.)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.1(x1)))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.1(x1)))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
f.0-0(mark.1(X1), X2) → mark.0(f.1-0(X1, X2))
active.0(b.) → mark.1(a.)
proper.0(f.1-0(X1, X2)) → f.0-0(proper.1(X1), proper.0(X2))
active.0(f.0-0(X, X)) → mark.0(f.1-0(a., b.))
proper.0(f.0-1(X1, X2)) → f.0-0(proper.0(X1), proper.1(X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-1(mark.1(X1), X2) → mark.0(f.1-1(X1, X2))
f.0-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.1(a.) → ok.1(a.)
f.0-0(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
active.0(f.1-1(X, X)) → mark.0(f.1-0(a., b.))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.1-1(X1, X2)) → f.0-1(active.1(X1), X2)
proper.0(b.) → ok.0(b.)
f.0-0(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
proper.0(f.1-1(X1, X2)) → f.0-0(proper.1(X1), proper.1(X2))
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TOP.0(ok.0(f.1-1(x0, x0))) → TOP.0(mark.0(f.1-0(a., b.)))
Used ordering: Polynomial interpretation [25]:
TOP.0(ok.0(f.0-0(x0, x0))) → TOP.0(mark.0(f.1-0(a., b.)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.1(x1)))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.1(x1)))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
POL(TOP.0(x1)) = x1
POL(a.) = 0
POL(active.0(x1)) = 0
POL(active.1(x1)) = 0
POL(b.) = 0
POL(f.0-0(x1, x2)) = x2
POL(f.0-1(x1, x2)) = 1
POL(f.1-0(x1, x2)) = x2
POL(f.1-1(x1, x2)) = 1
POL(mark.0(x1)) = x1
POL(mark.1(x1)) = 0
POL(ok.0(x1)) = x1
POL(ok.1(x1)) = 1
POL(proper.0(x1)) = x1
POL(proper.1(x1)) = 1
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
proper.0(b.) → ok.0(b.)
f.0-0(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
proper.0(f.1-1(X1, X2)) → f.0-0(proper.1(X1), proper.1(X2))
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
f.0-0(mark.1(X1), X2) → mark.0(f.1-0(X1, X2))
proper.0(f.1-0(X1, X2)) → f.0-0(proper.1(X1), proper.0(X2))
proper.0(f.0-1(X1, X2)) → f.0-0(proper.0(X1), proper.1(X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-1(mark.1(X1), X2) → mark.0(f.1-1(X1, X2))
f.0-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.1(a.) → ok.1(a.)
f.0-0(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ SemLabProof2
TOP.0(ok.0(f.0-0(x0, x0))) → TOP.0(mark.0(f.1-0(a., b.)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.1(x1)))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.1(x1)))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
f.0-0(mark.1(X1), X2) → mark.0(f.1-0(X1, X2))
active.0(b.) → mark.1(a.)
proper.0(f.1-0(X1, X2)) → f.0-0(proper.1(X1), proper.0(X2))
active.0(f.0-0(X, X)) → mark.0(f.1-0(a., b.))
proper.0(f.0-1(X1, X2)) → f.0-0(proper.0(X1), proper.1(X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-1(mark.1(X1), X2) → mark.0(f.1-1(X1, X2))
f.0-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.1(a.) → ok.1(a.)
f.0-0(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
active.0(f.1-1(X, X)) → mark.0(f.1-0(a., b.))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.1-1(X1, X2)) → f.0-1(active.1(X1), X2)
proper.0(b.) → ok.0(b.)
f.0-0(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
proper.0(f.1-1(X1, X2)) → f.0-0(proper.1(X1), proper.1(X2))
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TOP.0(ok.0(f.0-0(x0, x0))) → TOP.0(mark.0(f.1-0(a., b.)))
Used ordering: Polynomial interpretation [25]:
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.1(x1)))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.1(x1)))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
POL(TOP.0(x1)) = x1
POL(a.) = 0
POL(active.0(x1)) = 1 + x1
POL(active.1(x1)) = 0
POL(b.) = 0
POL(f.0-0(x1, x2)) = 1 + x1
POL(f.0-1(x1, x2)) = 1 + x1
POL(f.1-0(x1, x2)) = 0
POL(f.1-1(x1, x2)) = 0
POL(mark.0(x1)) = 1 + x1
POL(mark.1(x1)) = 0
POL(ok.0(x1)) = 1 + x1
POL(ok.1(x1)) = 0
POL(proper.0(x1)) = 1 + x1
POL(proper.1(x1)) = 0
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
proper.0(b.) → ok.0(b.)
active.0(f.1-1(X1, X2)) → f.0-1(active.1(X1), X2)
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
f.0-0(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
proper.0(f.1-1(X1, X2)) → f.0-0(proper.1(X1), proper.1(X2))
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
f.0-0(mark.1(X1), X2) → mark.0(f.1-0(X1, X2))
active.0(b.) → mark.1(a.)
proper.0(f.1-0(X1, X2)) → f.0-0(proper.1(X1), proper.0(X2))
active.0(f.0-0(X, X)) → mark.0(f.1-0(a., b.))
proper.0(f.0-1(X1, X2)) → f.0-0(proper.0(X1), proper.1(X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-1(mark.1(X1), X2) → mark.0(f.1-1(X1, X2))
f.0-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.1(a.) → ok.1(a.)
f.0-0(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
active.0(f.1-1(X, X)) → mark.0(f.1-0(a., b.))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ SemLabProof2
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.1(x1)))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.0-0(proper.1(x0), proper.1(x1)))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
f.0-0(mark.1(X1), X2) → mark.0(f.1-0(X1, X2))
active.0(b.) → mark.1(a.)
proper.0(f.1-0(X1, X2)) → f.0-0(proper.1(X1), proper.0(X2))
active.0(f.0-0(X, X)) → mark.0(f.1-0(a., b.))
proper.0(f.0-1(X1, X2)) → f.0-0(proper.0(X1), proper.1(X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-1(mark.1(X1), X2) → mark.0(f.1-1(X1, X2))
f.0-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.1(a.) → ok.1(a.)
f.0-0(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
active.0(f.1-1(X, X)) → mark.0(f.1-0(a., b.))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.1-1(X1, X2)) → f.0-1(active.1(X1), X2)
proper.0(b.) → ok.0(b.)
f.0-0(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
proper.0(f.1-1(X1, X2)) → f.0-0(proper.1(X1), proper.1(X2))
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ SemLabProof2
↳ QDP
↳ SemLabProof
TOP(ok(f(x0, x1))) → TOP(f(active(x0), x1))
TOP(mark(f(x0, x1))) → TOP(f(proper(x0), proper(x1)))
active(f(X, X)) → mark(f(a, b))
active(b) → mark(a)
active(f(X1, X2)) → f(active(X1), X2)
f(mark(X1), X2) → mark(f(X1, X2))
f(ok(X1), ok(X2)) → ok(f(X1, X2))
proper(f(X1, X2)) → f(proper(X1), proper(X2))
proper(a) → ok(a)
proper(b) → ok(b)
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.1-1(proper.1(x0), proper.1(x1)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-1(proper.0(x0), proper.1(x1)))
TOP.0(ok.0(f.1-0(x0, x1))) → TOP.0(f.0-0(active.1(x0), x1))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.1-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.1-1(x0, x1))) → TOP.0(f.0-1(active.1(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
proper.1(b.) → ok.1(b.)
f.0-0(mark.1(X1), X2) → mark.0(f.1-0(X1, X2))
active.1(b.) → mark.0(a.)
f.1-1(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
f.1-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-1(mark.1(X1), X2) → mark.0(f.1-1(X1, X2))
f.0-1(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
active.0(f.0-0(X, X)) → mark.0(f.0-1(a., b.))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
proper.0(f.1-0(X1, X2)) → f.1-0(proper.1(X1), proper.0(X2))
active.0(f.1-1(X1, X2)) → f.0-1(active.1(X1), X2)
active.0(f.1-1(X, X)) → mark.0(f.0-1(a., b.))
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
proper.0(f.1-1(X1, X2)) → f.1-1(proper.1(X1), proper.1(X2))
proper.0(a.) → ok.0(a.)
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
proper.0(f.0-1(X1, X2)) → f.0-1(proper.0(X1), proper.1(X2))
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ SemLabProof2
↳ QDP
↳ SemLabProof
↳ QDP
↳ UsableRulesReductionPairsProof
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.1-1(proper.1(x0), proper.1(x1)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-1(proper.0(x0), proper.1(x1)))
TOP.0(ok.0(f.1-0(x0, x1))) → TOP.0(f.0-0(active.1(x0), x1))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.1-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.1-1(x0, x1))) → TOP.0(f.0-1(active.1(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
proper.1(b.) → ok.1(b.)
f.0-0(mark.1(X1), X2) → mark.0(f.1-0(X1, X2))
active.1(b.) → mark.0(a.)
f.1-1(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
f.1-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-1(mark.1(X1), X2) → mark.0(f.1-1(X1, X2))
f.0-1(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
active.0(f.0-0(X, X)) → mark.0(f.0-1(a., b.))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
proper.0(f.1-0(X1, X2)) → f.1-0(proper.1(X1), proper.0(X2))
active.0(f.1-1(X1, X2)) → f.0-1(active.1(X1), X2)
active.0(f.1-1(X, X)) → mark.0(f.0-1(a., b.))
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
proper.0(f.1-1(X1, X2)) → f.1-1(proper.1(X1), proper.1(X2))
proper.0(a.) → ok.0(a.)
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
proper.0(f.0-1(X1, X2)) → f.0-1(proper.0(X1), proper.1(X2))
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
Used ordering: POLO with Polynomial interpretation [25]:
f.0-1(mark.1(X1), X2) → mark.0(f.1-1(X1, X2))
f.0-0(mark.1(X1), X2) → mark.0(f.1-0(X1, X2))
POL(TOP.0(x1)) = x1
POL(a.) = 0
POL(active.0(x1)) = x1
POL(active.1(x1)) = x1
POL(b.) = 0
POL(f.0-0(x1, x2)) = x1 + x2
POL(f.0-1(x1, x2)) = x1 + x2
POL(f.1-0(x1, x2)) = x1 + x2
POL(f.1-1(x1, x2)) = x1 + x2
POL(mark.0(x1)) = x1
POL(mark.1(x1)) = x1
POL(ok.0(x1)) = x1
POL(ok.1(x1)) = x1
POL(proper.0(x1)) = x1
POL(proper.1(x1)) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ SemLabProof2
↳ QDP
↳ SemLabProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ RuleRemovalProof
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.1-1(proper.1(x0), proper.1(x1)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-1(proper.0(x0), proper.1(x1)))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(ok.0(f.1-0(x0, x1))) → TOP.0(f.0-0(active.1(x0), x1))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.1-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
TOP.0(ok.0(f.1-1(x0, x1))) → TOP.0(f.0-1(active.1(x0), x1))
active.0(f.0-0(X, X)) → mark.0(f.0-1(a., b.))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.1-1(X1, X2)) → f.0-1(active.1(X1), X2)
active.0(f.1-1(X, X)) → mark.0(f.0-1(a., b.))
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
f.0-1(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
f.1-1(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
active.1(b.) → mark.0(a.)
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
f.1-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.0(f.1-0(X1, X2)) → f.1-0(proper.1(X1), proper.0(X2))
proper.0(f.1-1(X1, X2)) → f.1-1(proper.1(X1), proper.1(X2))
proper.0(a.) → ok.0(a.)
proper.0(f.0-1(X1, X2)) → f.0-1(proper.0(X1), proper.1(X2))
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
proper.1(b.) → ok.1(b.)
TOP.0(ok.0(f.1-1(x0, x1))) → TOP.0(f.0-1(active.1(x0), x1))
active.0(f.0-0(X, X)) → mark.0(f.0-1(a., b.))
active.0(f.1-1(X1, X2)) → f.0-1(active.1(X1), X2)
active.0(f.1-1(X, X)) → mark.0(f.0-1(a., b.))
POL(TOP.0(x1)) = x1
POL(a.) = 0
POL(active.0(x1)) = x1
POL(active.1(x1)) = x1
POL(b.) = 0
POL(f.0-0(x1, x2)) = 1 + x1 + x2
POL(f.0-1(x1, x2)) = x1 + x2
POL(f.1-0(x1, x2)) = 1 + x1 + x2
POL(f.1-1(x1, x2)) = 1 + x1 + x2
POL(mark.0(x1)) = x1
POL(ok.0(x1)) = x1
POL(ok.1(x1)) = x1
POL(proper.0(x1)) = x1
POL(proper.1(x1)) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ SemLabProof2
↳ QDP
↳ SemLabProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.1-1(proper.1(x0), proper.1(x1)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-1(proper.0(x0), proper.1(x1)))
TOP.0(ok.0(f.1-0(x0, x1))) → TOP.0(f.0-0(active.1(x0), x1))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.1-0(proper.1(x0), proper.0(x1)))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
f.0-1(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
f.1-1(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
active.1(b.) → mark.0(a.)
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
f.1-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.0(f.1-0(X1, X2)) → f.1-0(proper.1(X1), proper.0(X2))
proper.0(f.1-1(X1, X2)) → f.1-1(proper.1(X1), proper.1(X2))
proper.0(a.) → ok.0(a.)
proper.0(f.0-1(X1, X2)) → f.0-1(proper.0(X1), proper.1(X2))
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
proper.1(b.) → ok.1(b.)
TOP.0(ok.0(f.1-0(x0, x1))) → TOP.0(f.0-0(active.1(x0), x1))
active.0(f.1-0(X1, X2)) → f.0-0(active.1(X1), X2)
active.1(b.) → mark.0(a.)
POL(TOP.0(x1)) = x1
POL(a.) = 0
POL(active.0(x1)) = x1
POL(active.1(x1)) = x1
POL(b.) = 1
POL(f.0-0(x1, x2)) = x1 + x2
POL(f.0-1(x1, x2)) = x1 + x2
POL(f.1-0(x1, x2)) = 1 + x1 + x2
POL(f.1-1(x1, x2)) = x1 + x2
POL(mark.0(x1)) = x1
POL(ok.0(x1)) = x1
POL(ok.1(x1)) = x1
POL(proper.0(x1)) = x1
POL(proper.1(x1)) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ SemLabProof2
↳ QDP
↳ SemLabProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.1-1(proper.1(x0), proper.1(x1)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-1(proper.0(x0), proper.1(x1)))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.1-0(proper.1(x0), proper.0(x1)))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
f.0-1(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
f.1-1(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
f.1-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.0(f.1-0(X1, X2)) → f.1-0(proper.1(X1), proper.0(X2))
proper.0(f.1-1(X1, X2)) → f.1-1(proper.1(X1), proper.1(X2))
proper.0(a.) → ok.0(a.)
proper.0(f.0-1(X1, X2)) → f.0-1(proper.0(X1), proper.1(X2))
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
proper.1(b.) → ok.1(b.)
TOP.0(mark.0(f.1-1(x0, x1))) → TOP.0(f.1-1(proper.1(x0), proper.1(x1)))
TOP.0(mark.0(f.0-1(x0, x1))) → TOP.0(f.0-1(proper.0(x0), proper.1(x1)))
TOP.0(mark.0(f.1-0(x0, x1))) → TOP.0(f.1-0(proper.1(x0), proper.0(x1)))
TOP.0(mark.0(f.0-0(x0, x1))) → TOP.0(f.0-0(proper.0(x0), proper.0(x1)))
POL(TOP.0(x1)) = x1
POL(a.) = 0
POL(active.0(x1)) = x1
POL(b.) = 0
POL(f.0-0(x1, x2)) = x1 + x2
POL(f.0-1(x1, x2)) = x1 + x2
POL(f.1-0(x1, x2)) = x1 + x2
POL(f.1-1(x1, x2)) = x1 + x2
POL(mark.0(x1)) = 1 + x1
POL(ok.0(x1)) = x1
POL(ok.1(x1)) = x1
POL(proper.0(x1)) = x1
POL(proper.1(x1)) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ SemLabProof2
↳ QDP
↳ SemLabProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ UsableRulesReductionPairsProof
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
f.0-1(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
f.1-1(ok.1(X1), ok.1(X2)) → ok.0(f.1-1(X1, X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
f.1-0(ok.1(X1), ok.0(X2)) → ok.0(f.1-0(X1, X2))
proper.0(f.1-0(X1, X2)) → f.1-0(proper.1(X1), proper.0(X2))
proper.0(f.1-1(X1, X2)) → f.1-1(proper.1(X1), proper.1(X2))
proper.0(a.) → ok.0(a.)
proper.0(f.0-1(X1, X2)) → f.0-1(proper.0(X1), proper.1(X2))
proper.0(f.0-0(X1, X2)) → f.0-0(proper.0(X1), proper.0(X2))
proper.1(b.) → ok.1(b.)
Used ordering: POLO with Polynomial interpretation [25]:
f.0-1(ok.0(X1), ok.1(X2)) → ok.0(f.0-1(X1, X2))
POL(TOP.0(x1)) = x1
POL(active.0(x1)) = x1
POL(f.0-0(x1, x2)) = x1 + x2
POL(f.0-1(x1, x2)) = x1 + x2
POL(mark.0(x1)) = x1
POL(ok.0(x1)) = x1
POL(ok.1(x1)) = x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ SemLabProof2
↳ QDP
↳ SemLabProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ RuleRemovalProof
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
TOP.0(ok.0(f.0-1(x0, x1))) → TOP.0(f.0-1(active.0(x0), x1))
TOP.0(ok.0(f.0-0(x0, x1))) → TOP.0(f.0-0(active.0(x0), x1))
f.0-0(ok.0(X1), ok.0(X2)) → ok.0(f.0-0(X1, X2))
POL(TOP.0(x1)) = x1
POL(active.0(x1)) = x1
POL(f.0-0(x1, x2)) = x1 + x2
POL(f.0-1(x1, x2)) = x1 + x2
POL(mark.0(x1)) = x1
POL(ok.0(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ SemLabProof
↳ SemLabProof2
↳ QDP
↳ SemLabProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ PisEmptyProof
active.0(f.0-0(X1, X2)) → f.0-0(active.0(X1), X2)
active.0(f.0-1(X1, X2)) → f.0-1(active.0(X1), X2)
f.0-1(mark.0(X1), X2) → mark.0(f.0-1(X1, X2))
f.0-0(mark.0(X1), X2) → mark.0(f.0-0(X1, X2))